Skip to content

dgb: wire -DAUX_DOGE build-flag seam (phase DA) - #310

Merged
frstrtr merged 1 commit into
masterfrom
dgb/aux-doge-da-build-flag
Jun 22, 2026
Merged

dgb: wire -DAUX_DOGE build-flag seam (phase DA)#310
frstrtr merged 1 commit into
masterfrom
dgb/aux-doge-da-build-flag

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 22, 2026

Copy link
Copy Markdown
Owner

DGB+DOGE merged-mining phase DA — build-flag seam

Un-stubs the parked AUX_DOGE option in src/impl/dgb/CMakeLists.txt so the DGB-as-DOGE-parent dual-parent stretch can be opted in at configure time. With -DAUX_DOGE=ON the AUX_DOGE compile macro is defined across the dgb subtree, compiling the inert aux seam already present in coin/node.hpp (forward-decl of doge::coin::AuxChainEmbedded, the AuxChainBackend type alias, and the bind_aux_doge_parsers() declaration — no body, never ODR-used).

Fence (dgb-only)

  • One file: src/impl/dgb/CMakeLists.txt. No shared-base / ltc / doge touch.
  • Default OFF leaves the standalone Scrypt-only parent build byte-unchanged (add_compile_definitions is inside if(AUX_DOGE)).
  • No shared-module dependency: the shared src/impl/doge aux module (ltc-doge owns) is CONSUMED only at M3/DB, when the real aux_chain_embedded.hpp include + bind body land. This slice only lights up the inert seam.

Verification

  • cmake -DCOIN_DGB=ON -DAUX_DOGE=ON configure EXIT=0 (ENABLED message fires)
  • dgb_aux_parent_coinbase_parity_test builds EXIT=0 under the macro, runs 4/4 green

Notes

Bucket: per-coin (DGB) isolation primitive untouched; build-flag plumbing only.

Un-stub the parked AUX_DOGE option in the dgb module CMakeLists so the
DGB-as-DOGE-parent dual-parent merged-mining stretch can be opted into at
configure time. When -DAUX_DOGE=ON the AUX_DOGE compile macro is defined
across the dgb subtree, compiling the inert aux seam already present in
coin/node.hpp (forward-decl of doge::coin::AuxChainEmbedded, the
AuxChainBackend type alias, and the bind_aux_doge_parsers() declaration --
no body, never ODR-used). Default OFF leaves the standalone Scrypt-only
parent build byte-unchanged with zero DOGE coupling.

The shared src/impl/doge aux module (ltc-doge owns) is still only CONSUMED
at M3/DB, when the real aux_chain_embedded.hpp include and the bind body
land; this slice adds no shared-module dependency. Prereq #82 (own-block
broadcaster) is closed.

Verified: configure -DCOIN_DGB=ON -DAUX_DOGE=ON EXIT=0 (option message
fires); dgb_aux_parent_coinbase_parity_test builds EXIT=0 under the macro
and runs 4/4 green.
@frstrtr
frstrtr merged commit a80b272 into master Jun 22, 2026
9 checks passed
frstrtr added a commit that referenced this pull request Jun 22, 2026
…#312)

#310 landed the -DAUX_DOGE opt-in seam (option + add_compile_definitions
in src/impl/dgb/CMakeLists.txt; #ifdef AUX_DOGE in coin/node.hpp) but
nothing in CI exercises the flag-ON path, so the dual-parent stretch seam
could rot dark between now and M3.

Add a dedicated coin-dgb-auxdoge job that configures with
-DCOIN_DGB=ON -DAUX_DOGE=ON and builds the c2pool-dgb binary, so the
#ifdef AUX_DOGE seam is compiled on every PR. Default build (flag OFF)
is unchanged and still covered by the linux + dgb-smoke jobs. Workflow
file only; no source or shared-base touch.

Stacked on dgb/ci-fix-build-yml-conflict-markers (#311) because that is
the only clean build.yml base while master CI is red; rebase to master
once #311 lands.

Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
frstrtr added a commit that referenced this pull request Jun 23, 2026
Un-stub the parked AUX_DOGE option in the dgb module CMakeLists so the
DGB-as-DOGE-parent dual-parent merged-mining stretch can be opted into at
configure time. When -DAUX_DOGE=ON the AUX_DOGE compile macro is defined
across the dgb subtree, compiling the inert aux seam already present in
coin/node.hpp (forward-decl of doge::coin::AuxChainEmbedded, the
AuxChainBackend type alias, and the bind_aux_doge_parsers() declaration --
no body, never ODR-used). Default OFF leaves the standalone Scrypt-only
parent build byte-unchanged with zero DOGE coupling.

The shared src/impl/doge aux module (ltc-doge owns) is still only CONSUMED
at M3/DB, when the real aux_chain_embedded.hpp include and the bind body
land; this slice adds no shared-module dependency. Prereq #82 (own-block
broadcaster) is closed.

Verified: configure -DCOIN_DGB=ON -DAUX_DOGE=ON EXIT=0 (option message
fires); dgb_aux_parent_coinbase_parity_test builds EXIT=0 under the macro
and runs 4/4 green.

Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
frstrtr added a commit that referenced this pull request Jun 23, 2026
…#312)

#310 landed the -DAUX_DOGE opt-in seam (option + add_compile_definitions
in src/impl/dgb/CMakeLists.txt; #ifdef AUX_DOGE in coin/node.hpp) but
nothing in CI exercises the flag-ON path, so the dual-parent stretch seam
could rot dark between now and M3.

Add a dedicated coin-dgb-auxdoge job that configures with
-DCOIN_DGB=ON -DAUX_DOGE=ON and builds the c2pool-dgb binary, so the
#ifdef AUX_DOGE seam is compiled on every PR. Default build (flag OFF)
is unchanged and still covered by the linux + dgb-smoke jobs. Workflow
file only; no source or shared-base touch.

Stacked on dgb/ci-fix-build-yml-conflict-markers (#311) because that is
the only clean build.yml base while master CI is red; rebase to master
once #311 lands.

Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant